Cover Contracts
1. Buy Cover Flow
2. Product Management Flow
Actions
Quick Summary:
- Members receive a Cover NFT as proof when purchasing cover
- AB Members manage products
1. Member Actions
- Buy Cover
(1a)
Member
callsbuyCover
on Cover with:- Product ID
- Cover amount
- Cover period
- Payment asset
- Cover asset
(1b)
Cover
validates product with CoverProducts (1c)Cover
mints NFT representing cover- issues Cover NFT to buyer
(1d)
Cover
processes payment via Pool
- issues Cover NFT to buyer
(1d)
2. Advisory Board Actions
-
Product Configuration (1)
AB Member
callssetProducts
on CoverProducts to:- Add new products (
productId = uint256.max
) - Update existing products
- Set initial price ratios
- Set capacity reduction ratios
- Configure allowed staking pools
(2)
AB Member
callssetProductTypes
on CoverProducts to:- Define product types (
productTypeId = uint256.max
) - Set grace periods
- Set product type names
- Update product type metadata
(3)
AB Member
callssetProductsMetadata
to:- Update product IPFS metadata
- Update product type IPFS metadata
- Add new products (
Notes
- Cover NFTs represent ownership of cover policies
- Products must be configured before they can be purchased
- Cover periods have minimum (28 days) and maximum (365 days) durations
- Products can be deprecated which prevents new cover purchases
- Products can be restricted to specific staking pools
- All contracts fetch latest addresses from NXMaster Registry
- Product metadata is stored on IPFS with timestamps
- Initial price ratio must be above product minimum price
Registry Dependencies
All contracts fetch latest contract addresses from NXMaster:
- CoverProducts: P1 (Pool), CO (Cover), MR (MemberRoles), SP (StakingProducts)
- Cover: P1 (Pool), TC (TokenController), MR (MemberRoles), CP (CoverProducts)
- CoverNFT: Operator address